struct LeftOver {
  /* @offset(0) */
  scale : vec2<f32>,
  /* @offset(8) */
  screenSize : vec2<f32>,
}

struct Internals {
  /* @offset(0) */
  yFactor_ : f32,
  /* @offset(4) */
  textureOutputHeight_ : f32,
}

var<private> vUV : vec2<f32>;

var<private> position_1 : vec2<f32>;

@group(1) @binding(3) var<uniform> x_19 : LeftOver;

@group(1) @binding(0) var<uniform> x_43 : Internals;

var<private> gl_Position : vec4<f32>;

const x_14 = vec2<f32>(0.5f, 0.5f);

fn main_1() {
  let x_12 : vec2<f32> = position_1;
  let x_24 : vec2<f32> = x_19.scale;
  vUV = (((x_12 * x_14) + x_14) * x_24);
  let x_33 : vec2<f32> = position_1;
  gl_Position = vec4<f32>(x_33.x, x_33.y, 0.0f, 1.0f);
  let x_46 : f32 = x_43.yFactor_;
  let x_49 : f32 = gl_Position.y;
  gl_Position.y = (x_49 * x_46);
  return;
}

struct main_out {
  @location(0)
  vUV_1 : vec2<f32>,
  @builtin(position)
  gl_Position : vec4<f32>,
}

@vertex
fn main(@location(0) position_1_param : vec2<f32>) -> main_out {
  position_1 = position_1_param;
  main_1();
  return main_out(vUV, gl_Position);
}